package com.geekathon.mobzilla.model;

import java.util.Date;
import java.util.List;

import com.google.gson.annotations.SerializedName;

public class Attachment {

	@SerializedName("attacher")
	private User attacher;

	@SerializedName("bug_id")
	private Integer bugId;

	@SerializedName("bug_ref")
	private String bugRef;

	@SerializedName("comments")
	private List<Comment> comments;

	@SerializedName("creation_time")
	private Date creationTime;

	@SerializedName("data")
	private String data;

	@SerializedName("description")
	private String description;

	@SerializedName("encoding")
	private String encoding;

	@SerializedName("file_name")
	private String fileName;

	@SerializedName("flags")
	private List<Flag> flags;

	@SerializedName("id")
	private Integer id;

	@SerializedName("is_obsolete")
	private Boolean isObsolete;

	@SerializedName("is_patch")
	private Boolean isPatch;

	@SerializedName("is_private")
	private Boolean isPrivate;

	@SerializedName("ref")
	private String ref;

	@SerializedName("size")
	private Integer size;

	@SerializedName("update_token")
	private String updateToken;

	@SerializedName("content_type")
	private String contentType;

	public User getAttacher() {
		return attacher;
	}

	public void setAttacher(User attacher) {
		this.attacher = attacher;
	}

	public Integer getBugId() {
		return bugId;
	}

	public void setBugId(Integer bugId) {
		this.bugId = bugId;
	}

	public String getBugRef() {
		return bugRef;
	}

	public void setBugRef(String bugRef) {
		this.bugRef = bugRef;
	}

	public List<Comment> getComments() {
		return comments;
	}

	public void setComments(List<Comment> comments) {
		this.comments = comments;
	}

	public Date getCreationTime() {
		return creationTime;
	}

	public void setCreationTime(Date creationTime) {
		this.creationTime = creationTime;
	}

	public String getData() {
		return data;
	}

	public void setData(String data) {
		this.data = data;
	}

	public String getDescription() {
		return description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	public String getEncoding() {
		return encoding;
	}

	public void setEncoding(String encoding) {
		this.encoding = encoding;
	}

	public String getFileName() {
		return fileName;
	}

	public void setFileName(String fileName) {
		this.fileName = fileName;
	}

	public List<Flag> getFlags() {
		return flags;
	}

	public void setFlags(List<Flag> flags) {
		this.flags = flags;
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public Boolean getIsObsolete() {
		return isObsolete;
	}

	public void setIsObsolete(Boolean isObsolete) {
		this.isObsolete = isObsolete;
	}

	public Boolean getIsPatch() {
		return isPatch;
	}

	public void setIsPatch(Boolean isPatch) {
		this.isPatch = isPatch;
	}

	public Boolean getIsPrivate() {
		return isPrivate;
	}

	public void setIsPrivate(Boolean isPrivate) {
		this.isPrivate = isPrivate;
	}

	public String getRef() {
		return ref;
	}

	public void setRef(String ref) {
		this.ref = ref;
	}

	public Integer getSize() {
		return size;
	}

	public void setSize(Integer size) {
		this.size = size;
	}

	public String getUpdateToken() {
		return updateToken;
	}

	public void setUpdateToken(String updateToken) {
		this.updateToken = updateToken;
	}

	public String getContentType() {
		return contentType;
	}

	public void setContentType(String contentType) {
		this.contentType = contentType;
	}

	public String toString() 
	{
		StringBuilder builder = new StringBuilder();
		
		builder.append("Attached By : ").append(attacher);
		
		builder.append("Comments : ").append(comments);
		
		builder.append("ContentType : ").append(contentType);
		
		builder.append("Time : ").append(creationTime);
		
		builder.append("Description : ").append(description);
		
		builder.append("File Name : ").append(fileName);
		
		builder.append("Size : ").append(size);
		
		return builder.toString();
	}
}
